package com.xiangge.demo;
/*
    do...while循环：
         引入： 打印1-5
         格式：
            do{
                循环体语句;
            }while(条件判断语句);
          执行流程：
             先执行循环体,再执行条件判断:
                        条件判断成立,继续下一轮循环
                        条件判断不成立,结束循环,执行循环体后面的代码

          【随堂练习】
                1、输出0(包含)到100(包含)之间的数, 分别以递增和递减的方式实现；
                2、输出1到100之间的奇数和偶数；
                3、输入一个正整数n，计算1+2+3+…+n的和；
                4、输入一个正整数n，计算1-2+3-4+5-6+…-(n-1)+n的和；
                5、输出1到1000之间既能被5整除又能被3整除的数，并且每行输出5个。
                6、求100到999之间的水仙花数。水仙花数的每个位上的数字的3次幂之和等于它本身（例如：1^3 + 5^3+ 3^3 = 153）。
                7、编程找出四位整数abcd中满足下述关系的数，(ab+cd)*(ab+cd)=abcd（例如：(20 + 25) * (20 + 25)= 2025）。
 */
public class DoWhileDemo1 {
    public static void main(String[] args) {
        /*
             7、编程找出四位整数abcd中满足下述关系的数，(ab+cd)*(ab+cd)=abcd（例如：(20 + 25) * (20 + 25)= 2025）。
         */
        // 定义统计变量count
        int count = 0;
        // 1. 使用do...while循环代表[1000,9999]之间所有的整数
        int abcd = 1000;
        do {
            // 循环体
            // 2. 求出ab 和 cd
            int ab = abcd / 100;
            int cd = abcd % 100;
            // 3. 使用if单选结构判断
            if (Math.pow((ab + cd), 2) == abcd) {
                System.out.println(abcd);
                //每次打印一个满足条件的数，那么就统计一次
                count++;
            }
            abcd++;
        } while (abcd <= 9999);
        // 循环结束之后，输出统计的个数count
        System.out.println("满足条件的数有:" + count + "个。");
    }
    public static void main1(String[] args) {
        int i = 1;
        do{
            System.out.println(i);
            i++;
        }while(i <= 5);
    }
}
